package com.wanxi.util;

import com.alibaba.fastjson2.JSON;

import java.math.BigDecimal;
import java.util.List;

public class Tool {
    private Tool() {

    }

    public static Integer strToInt(String value) {
        try {
            return Integer.valueOf(value);
        } catch (Exception e) {
            return -1;
        }
    }

    public static Integer strToPage(String value) {
        try {
            return Integer.valueOf(value);
        } catch (Exception e) {
            return 1;
        }
    }

    public static Integer strToLimit(String value) {
        try {
            return Integer.valueOf(value);
        } catch (Exception e) {
            return 10;
        }
    }

    public static String nullToStr(String value) {
        return value == null ? "" : value.trim();
    }

    /**
     * 如果时间为null，或者不是正确的时间格式，则返回一个默认值
     *
     * @param value
     * @return
     */
    public static String nullToDate(String value) {
//        aaaaaaa
        return value == null ? "1900-01-01" : value.trim();
    }

    public static BigDecimal nullToDecimal(String value) {
        try {
            return new BigDecimal(value);
        } catch (Exception e) {
            return new BigDecimal(0);
        }
    }
    /**
     * 将集合复制到另一个集合
     * @param oldList  原来的集合
     * @param eClass  新的集合的类
     * @param <T> 原集合的类
     * @param <E> 新集合的类
     * @return 返回新的集合
     */
    public static <T, E> List<E> copy(List<T> oldList, Class<E> eClass) {
        String old = JSON.toJSONString(oldList);
        return JSON.parseArray(old, eClass);
    }

    public static <T, E> E copy(T oldObj, Class<E> eClass) {
        String old = JSON.toJSONString(oldObj);
        return JSON.parseObject(old, eClass);
    }
}
